Switches are widely used in systems. For example, the Serial Rapid Input Output (sRIO) Gen2 Switch may be used to meet wireless infrastructure customer's requirements for WCDMA/LTE Base Stations.
There are 4 different priority levels specified in the sRIO standard for Virtual Channel 0 (VC0). Traffic flow may change dynamically in real time as there can be more priority level traffic flowing through within a certain period but on other occasions, very limited priority levels may appear within the switch fabric.
Assigning a fixed amount of buffers to each priority (level) may not be able to utilize all the available buffers efficiently because if there is no traffic with a certain priority, the buffers being allocated to that priority will be wasted. This presents a problem.
In order to determine the desired buffer size to sustain higher priority traffic with long ACK (acknowledgment) delay, total path delay from transmitted a packet's EOP (end of packet) to the received ACK needs to be identified along with buffer release latency for each connected device which may require pre-calculation with traffic monitoring. Pre-calculation is a time consuming process which requires the availability of product spec with detailed understanding. This presents a problem.
Additionally, this approach would require the user to be aware of system topology with total path delay (such as outbound sRIO protocol stack, PCB (printed circuit board) traces, inbound sRIO protocol stack, ACK generation, etc) being calculated in advance for each connected device in order to set up the right reserved buffer size for each priority level. This presents a problem.
Further, traffic monitoring with delay path measurement may be inaccurate as some of the timing paths may not be visible externally. This presents a problem.